﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace IRCBot
{
    public abstract class Pickup
    {
        public Int32 id { get; protected set; }
        public PickupType type { get; protected set; }
        public Server server { get; protected set; }
        public Dictionary<Classes, Int16> classLimit { get; protected set; }
        public String config { get; protected set; }
        public List<PickupPlayer> players { get; protected set; }
        public List<Map> mapPool { get; protected set; }
        public Map map { get; protected set; }
        public PickupState state { get; protected set; }

        public Pickup()
        {
            this.state = PickupState.stopped;
            this.players = new List<PickupPlayer>();
        }

        // A déplacer dans une factory
        public static Pickup createPickup(PickupType type)
        {
            Pickup pickup;
            switch (type)
            {
                case PickupType.pro:
                default:
                    pickup = new Pickup6v6();
                    break;
                case PickupType.highlander:
                    //Todo : Mettre le bon type de pickup
                    pickup = new Pickup6v6();
                    break;
                case PickupType.bball:
                    //Todo : Mettre le bon type de pickup
                    pickup = new Pickup6v6();
                    break;                
            }
            return pickup;
        }
    }
}
